package cn.edu.nuc.creditSystem.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import cn.edu.nuc.creditSystem.bean.user.User;




public class LoginInterceptor implements HandlerInterceptor{

	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		HttpSession session=request.getSession();
		User user= (User)session.getAttribute("user");
		if( user != null )
			return true;
		String requestedWith = request.getHeader("x-requested-with");
		//Ajax
		if( requestedWith != null && requestedWith.equalsIgnoreCase("XMLHttpRequest") ){
			response.setHeader("sessionstatus", "timeout");//在响应头设置session状态 
		} else {
			response.sendRedirect(request.getContextPath()+"/userlogin");
		}
		return false;
	}

	
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO Auto-generated method stub
	}

	
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		// TODO Auto-generated method stub
	}
	
}
